home *** CD-ROM | disk | FTP | other *** search
- Turbo Vision 2.0 Programming Guide
- ==================================
-
- This file contains information on material added to Turbo Vision
- 2.0 after the Programming Guide had gone to press and also
- corrections to a few errors in the manual. We strongly suggest
- that you mark these corrections and changes in your manual for
- future reference.
-
-
- =============================================================
- Changes and additions to Chapter 19, "Turbo Vision Reference"
- =============================================================
-
- =============================================================
- CreateFindDialog function Editors
- =============================================================
-
- Declaration function CreateFindDialog: PDialog;
-
- Function Constructs and returns a pointer to the
- standard text search dialog box used by
- StdEditorDialog. If you want to customize
- the simpler editor dialog boxes but still
- use the standard text search interface,
- your editor dialog box function should
- execute the dialog box returned by
- CreateFindDialog for a Dialog parameter
- of edFind.
-
- See also EditorDialog variable, edXXXX constants,
- StdEditorDialog function
-
-
-
- =============================================================
- CreateReplaceDialog function Editors
- =============================================================
-
- Declaration function CreateReplaceDialog: PDialog;
-
- Function Constructs and returns a pointer to the
- standard text search-and-replace dialog
- box used by StdEditorDialog. If you want
- to customize the simpler editor dialog
- boxes but still use the standard text
- search interface, your editor dialog box
- function should execute the dialog box
- returned by CreateReplaceDialog for a
- Dialog parameter of edReplace.
-
- See also EditorDialog variable, edXXXX constants,
- StdEditorDialog function
-
-
-
- =============================================================
- FailSysErrors variable Drivers
- =============================================================
-
- Declaration FailSysErrors: Boolean = False;
-
- If True, causes the system error handler
- to behave as if the user had responded to
- a system error message by pressing Esc.
- Normally, the system error handler
- displays a message on the last line of
- the screen and waits for user input.
- Setting FailSysErrors to True causes the
- system error handler to bypass the
- message and user prompt, and just return
- as if the DOS call that produced the
- error failed.
-
- See also SysErrorFunc variable
-
-
-
- =============================================================
- GetCtrlChar function Drivers
- =============================================================
-
- Declaration function GetCtrlChar(KeyCode: Word):
- Char;
-
- Function Returns the character, Ch, for which
- Ctrl+Ch produces the 2-byte scan code
- given by the argument KeyCode. Gives the
- reverse mapping to GetCtrlCode.
-
- See also GetCtrlCode
-
-
-
- =============================================================
- GetCtrlCode function Drivers
- =============================================================
-
- Declaration function GetCtrlCode(Ch: Char): Word;
-
- Function Returns the 2-byte scan code (keycode)
- corresponding to Ctrl+Ch. This function
- gives the reverse mapping to GetCtrlChar.
-
- See also GetCtrlChar
-
-
-
- =============================================================
- GetShiftState function Drivers
- =============================================================
-
- Declaration function GetShiftState: Byte;
-
- Function Returns a byte containing the current
- Shift key state, as reported by DOS. The
- return value contains a combination of
- the kbXXXX constants for shift states.
-
- You should call GetShiftState instead of
- checking the ShiftState variable
- directly. ShiftState is not guaranteed to
- be valid in protected mode, but
- GetShiftState returns the correct value
- in either real or protected mode.
-
- See also kbXXXX constants
-
-
-
- =============================================================
- RegisterMenus procedure Menus
- =============================================================
-
- Declaration procedure RegisterMenus;
-
- Function Calls RegisterType for each of the object
- types defined in the Menus unit:
- TMenuBar, TMenuBox, TMenuPopup, and
- TStatusLine. After calling RegisterMenus,
- your application can read or write any of
- those types with streams.
-
- See also RegisterType procedure
-
-
-
- =============================================================
- RegisterViews procedure Views
- =============================================================
-
- Declaration procedure RegisterViews;
-
- Function Calls RegisterType for each of the object
- types defined in the Views unit: TView,
- TFrame, TScrollBar, TScroller,
- TListViewer, TGroup, and TWindow. After
- calling RegisterViews, your application
- can read or write any of those types with
- streams.
-
- See also RegisterType procedure
-
-
-
- =============================================================
- ShiftState variable Drivers
- =============================================================
-
- Although this variable exists to maintain
- compatibility with version 1.0, you
- should not check ShiftState directly.
- Rather, you should call GetShiftState,
- which returns a valid set of shift state
- flags in either real or protected mode.
-
-
-
- =============================================================
- TDesktop App
- =============================================================
-
- TDesktop has two additional methods not
- documented.
-
-
- Methods =========================================
-
-
- Load constructor Load(var S: TStream);
-
- Constructs and loads a desktop object
- from the stream S by first calling the
- Load constructor inherited from TGroup,
- then calling GetSubViewPtr to set up the
- Background field, then reading the
- TileColumnsFirst field.
-
- See also: TGroup.Load,
- TGroup.GetSubViewPtr
-
-
- Store procedure Store(var S: TStream);
-
- Writes the desktop object to the stream S
- by first calling the Store method
- inherited from TGroup, then calling
- PutSubViewPtr to store the Background
- field, then writing the value of
- TileColumnsFirst.
-
- See also: TGroup.Store,
- TGroup.PutSubViewPtr
-
-
-
- =============================================================
- TMemoryStream Objects
- =============================================================
-
- TMemoryStream implements a stream in heap
- memory.
- The mechanics of using memory streams are
- simple. You construct a memory stream,
- specifying its initial size and a block
- size. The memory stream allocates as many
- blocks on the heap as needed to meet the
- initial size. Bytes stored on the stream
- are not guaranteed to be in contiguous
- memory locations unless the stream
- consists of a single block.
-
- Once you construct the stream, you use it
- like any other. Writing beyond the end of
- the stream causes the stream to grow in
- increments of the initial block size, up
- to a maximum of 16,384 blocks.
-
- Changing the size of a memory stream by
- enlarging or truncating could seriously
- fragment your heap. Try to set the
- initial size and block size of the stream
- to reasonable values to minimize
- individual allocations.
-
-
- Fields =========================================
-
- BlockSize BlockSize: Integer;
-
- The size of each block allocated to the
- memory stream.
-
- CurSeg CurSeg: Integer;
-
- Holds the segment part of the address of
- the block that contains the current
- stream position.
-
- Position Position: Longint;
-
- The position of the stream in bytes. The
- first position is 0.
-
- SegCount SegCount: Integer;
-
- The number of blocks currently allocated
- to the memory stream.
-
- SegList SegList: PWordArray;
-
- Contains the list of segment parts used
- by each allocated block. The entries
- 0..SegCount-1 contain valid segments.
-
- Size Size: Longint;
-
- The size of the stream in bytes.
-
-
- Methods =========================================
-
- Init constructor Init(ALimit: Longint;
- ABlockSize: Word);
-
- Constructs a memory stream object by
- first calling the Init constructor
- inherited from TStream, then allocates
- enough blocks of size ABlockSize to
- collectively contain ALimit bytes. Sets
- BlockSize to ABlockSize.
-
- See also: TStream.Init
-
- Done destructor Done; virtual;
-
- Disposes of the memory stream object by
- disposing of the memory allocated to the
- stream, then calling the Done destructor
- inherited from TStream.
-
- See also: TStream.Done
-
- GetPos function GetPos: Longint; virtual;
-
- Returns the stream's current position.
- The first position is 0.
-
- GetSize function GetSize: Longint; virtual;
-
- Returns the size of the stream in bytes.
-
- Read procedure Read(var Buf; Count: Word);
- virtual;
-
- Reads Count bytes from the stream,
- starting at the current position, into
- the buffer Buf.
-
- Seek procedure Seek(Pos: Longint); virtual;
-
- Sets the current position to Pos bytes
- from the start of the stream. The first
- position is 0.
-
- Truncate procedure Truncate; virtual;
-
- Deletes all data on the stream from the
- current position to the end. Sets the
- current position to the new end of the
- stream.
-
- Write procedure Write(var Buf; Count: Word);
- virtual;
-
- Writes Count bytes from the buffer Buf to
- the stream, starting at the current
- position.
-
-
-
- =============================================================
- TStringList Objects
- =============================================================
-
- In the example code in the Load
- constructor description, TBufStream
- should be PBufStream.
-
-
-
- =============================================================
- TStrListMaker Objects
- =============================================================
-
- In the example code in the description of
- how to use the string list maker,
- TBufStream should be PBufStream.
-